// pages/videos/videos.js
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    banners: [
      'https://th.bing.com/th/id/R.8bbf769b39bb26eefb9b6de51c23851d?rik=crTnc5i8A%2b8p7A&riu=http%3a%2f%2fpicview.iituku.com%2fcontentm%2fzhuanji%2fimg%2f202207%2f09%2fe7196ac159f7cf2b.jpg%2fnu&ehk=DYPLVpoNAXLj5qzwgR5vHf9DladFh%2b34s4UcuP3Kn6E%3d&risl=&pid=ImgRaw&r=0',
      'https://th.bing.com/th/id/R.8bbf769b39bb26eefb9b6de51c23851d?rik=crTnc5i8A%2b8p7A&riu=http%3a%2f%2fpicview.iituku.com%2fcontentm%2fzhuanji%2fimg%2f202207%2f09%2fe7196ac159f7cf2b.jpg%2fnu&ehk=DYPLVpoNAXLj5qzwgR5vHf9DladFh%2b34s4UcuP3Kn6E%3d&risl=&pid=ImgRaw&r=0',
      'https://xxxx/banner3.jpg'
    ],
    categoryId: '', // 分类ID（可从options传入）
    // 第一级：横向tabbar导航（电控品牌）
    currentTabIndex: 0, // 当前选中的tab索引
    topTabItems: [], // 电控品牌列表
    // 第二级：左侧侧边栏导航（机器类型）
    activeKey: 0, // 当前选中的侧边栏索引
    sidebarItems: [], // 机器类型列表
    // 第三级：右侧商品列表（品牌型号）
    products: [], // 品牌型号列表
    productCategoryId: '', // 当前选中的产品分类ID
    // 完整树形数据
    allData: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取分类ID（如果有传入）
    const categoryId = options.categoryId || '';
    this.setData({
      categoryId: categoryId
    });
    // 初始化数据
    this.initData();
  },

  /**
   * 初始化数据
   */
  initData() {
    this.getCategoryList();
  },

  /**
   * 查询分类树
   */
  getCategoryList() {
    wx.request({
      url: `${app.globalData.baseUrl}/category/tree?categoryId=${this.data.categoryId}`,
      method: 'GET',
      success: (res) => {
        if (res.data.code === 200) {
          this.setData({
            allData: res.data.data
          });
          
          // 获取第一级的children，即电控品牌列表（横向tabbar）
          if (res.data.data && res.data.data.length > 0) {
            const brands = res.data.data[0].children || [];
            
            // 将电控品牌转换为横向tabbar格式
            const topTabItems = brands.map(item => ({
              name: item.categoryName,
              key: item.categoryId,
              categoryId: item.categoryId
            }));
            
            this.setData({
              topTabItems: topTabItems,
              currentTabIndex: 0,
              selectedBrandIndex: 0
            });
            
            // 加载第一个电控品牌的机器类型（左侧导航）
            if (brands.length > 0) {
              const firstBrand = brands[0];
              this.loadBrandData(firstBrand.categoryId, 0);
            }
          }
        }
      },
      fail: (err) => {
        console.error('获取分类树失败:', err);
        wx.showToast({
          title: '加载失败',
          icon: 'none'
        });
      }
    });
  },

  /**
   * 横向tabbar点击事件（点击电控品牌）
   */
  onTabbarTap(e) {
    const { index } = e.currentTarget.dataset;
    if (index === this.data.currentTabIndex) {
      return; // 如果点击的是当前tab，不处理
    }
    
    const brand = this.data.topTabItems[index];
    
    this.setData({
      currentTabIndex: index,
      activeKey: 0, // 重置左侧导航选中项
      products: [] // 清空右侧列表
    });
    
    // 加载对应电控品牌的机器类型（左侧导航栏数据）
    this.loadBrandData(brand.categoryId, index);
  },

  /**
   * 加载电控品牌数据（切换左侧导航栏 - 机器类型）
   */
  loadBrandData(brandCategoryId, brandIndex) {
    // 从树形数据中找到对应的电控品牌
    if (this.data.allData && this.data.allData.length > 0) {
      const brands = this.data.allData[0].children || [];
      const brandData = brands.find(item => item.categoryId === brandCategoryId);
      
      if (brandData) {
        // 获取机器类型列表（左侧导航栏）
        const types = brandData.children || [];
        const sidebarItems = types.map(item => item.categoryName);
        
        this.setData({
          sidebarItems: sidebarItems,
          activeKey: 0
        });
        
        // 加载第一个机器类型的品牌型号（右侧商品列表）
        if (types.length > 0) {
          const firstType = types[0];
          this.loadProductList(firstType.categoryId, 0);
        } else {
          // 如果没有机器类型，清空右侧列表
          this.setData({
            products: []
          });
        }
      }
    }
  },

  /**
   * 侧边栏切换事件（点击机器类型，切换右侧商品列表）
   */
  onSidebarChange(e) {
    const  index  = e.detail;
    console.log('index',index,this.data.allData,e.detail)
    this.setData({
      activeKey: index,
      productCategoryId: ''
    });
    
    // 从树形数据中找到对应的机器类型
    if (this.data.allData && this.data.allData.length > 0) {
      const brands = this.data.allData[0].children || [];
      const currentBrand = brands[this.data.currentTabIndex];
      const types = currentBrand.children;
      const selectedType = types[index];
      this.loadProductList(selectedType.categoryId, index);
      if (currentBrand && currentBrand.children) {
        
       
        
        if (selectedType) {
          // 加载品牌型号列表（右侧商品列表）
          this.loadProductList(selectedType.categoryId, index);
        }
      }
    }
  },

  /**
   * 查询品牌型号列表（右侧商品列表）
   */
  loadProductList(productCategoryId, sidebarIndex) {
    this.setData({
      productCategoryId: productCategoryId,
      products: [] // 先清空，加载新数据
    });
    
    wx.request({
      url: `${app.globalData.baseUrl}/product/listWithMedia?productCategoryId=${productCategoryId}&&productType=-1`,
      method: 'GET',
      success: (res) => {
        if (res.data.code === 200 || res.data.rows) {
          // 转换数据格式，适配右侧商品列表
          const products = (res.data.rows || res.data.data || []).map(item => ({
            id: item.productId || item.id,
            title: item.productName || item.name || item.title,
            image: item.productPicture || item.image || item.mediaUrl || 'https://via.placeholder.com/200x200'
          }));
          
          this.setData({
            products: products
          });
        }
      },
      fail: (err) => {
        console.error('获取品牌型号列表失败:', err);
        wx.showToast({
          title: '加载失败',
          icon: 'none'
        });
      }
    });
  },

  /**
   * 加载商品数据（可根据分类筛选）- 保留原有方法以兼容
   */
  loadProducts(categoryIndex) {
    // 从树形数据中找到对应的机器类型
    if (this.data.allData && this.data.allData.length > 0) {
      const brands = this.data.allData[0].children || [];
      const currentBrand = brands[this.data.currentTabIndex];
      
      if (currentBrand && currentBrand.children) {
        const types = currentBrand.children;
        const selectedType = types[categoryIndex];
        
        if (selectedType) {
          this.loadProductList(selectedType.categoryId, categoryIndex);
        }
      }
    }
  },

  /**
   * 商品点击事件 - 跳转到详情页
   */
  onProductTap(e) {
    const { id } = e.currentTarget.dataset;
    // 跳转到详情页
    wx.navigateTo({
      url: `/pages/details/details?productId=${id}`
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})